第1步:计算规化时间 tk ,卫星星历给出的轨道参数是以星历参考时间 toe 作为基准的,为了得到各个轨道参数在t时刻的值,我们必须先求出t时刻与参考时间 toe 之间的差异,即:

tk=t−toe

第2步:计算卫星的平均角速度n
将卫星星历给出的as带入公式

n=GMas3=μas3

可得那颗在圆周轨道上运行的假象卫星的平均角速度n0 ,还需考虑星历提供的平均角速度校正值Δn,所以校正后的卫星平均角速度为:

n=n0+Δn

第3步:计算信号发射时刻的平近点角Mk
将星历给出的M0代入以下的线性模型公式:

Mk=M0+ntk

即可得到tk时刻的平近点角。

第4步:计算信号发射时刻的偏近点角Ek
给出平近点角Mk和星历参数es,我们通常可以运用迭代法将偏近点角Ek从开普勒方程

M=E−essinE

中求解出来。Ek的迭代初始值E0可置为Mk。

第5步:计算信号发射时刻的真近点角vk
将Ek和es代入

cosν=cosE−es1−escosEsinν=1−es2sinE1−escosEν=arctan(1−es2sinEcosE−es)

即可求出真近点角。

第6步:计算信号发射时刻的升交点角距Φk
将卫星星历给出的ω代入下式:

Φk=vk+ω

即可得出升交点角距Φk。

第7步:计算信号发射时刻的摄动校正项升交点角距δuk,δrk和δik
将星历参数Cuc,Cus,Crc,Crs,Cic,Cis和由上一步得到的升交点角距Φk代入以下各式:

δuk=Cussin(2Φk)+Cuccos(2Φk)δrk=Crssin(2Φk)+Crccos(2Φk)δik=Cissin(2Φk)+Ciccos(2Φk)

可以计算出摄动校正项。

第8步:计算摄动校正后的升交点角距uk、卫星矢径长度rk和轨道倾角ik
将上一步计算得到的摄动校正量代入下式:

uk=Φk+δukrk=as(1−escosEk)+δrkik=i0+i˙⋅tk+δik

第9步:计算信号发射时刻卫星在轨道平面的位置(xk′,yk′)
通过以下公式将极坐标(rk,uk)转换为在轨道平面直角坐标系(X′,Y′)中的坐标(xk′,yk′):

xk′=rkcosukyk′=rksinuk

这里的直角坐标系的X′是由地心指向卫星升交点,而不是指向近地点。

第10步:计算信号发射时刻的升交点赤经Ωk
升交点赤径的线性模型如下:

Ωk=Ω0+(Ω˙−Ω˙e)tk−Ω˙etoe

第11步:计算卫星在WGS-84地心地固直角坐标系(XT,YT,ZT)中的坐标(xk,yk,zk)

xk=xk′cosΩk−yk′cosiksinΩkyk=xk′sinΩk+yk′cosikcosΩkzk=yk′sinik